@font-face {
	font-family: header;
	src: url('font.ttf');
}

.border-radius-top (@radius: 5px) {
	border-top-left-radius: @radius;
	border-top-right-radius: @radius;
	-moz-border-radius-topleft: @radius;
	-moz-border-radius-topright: @radius;
	-webkit-border-top-left-radius: @radius;
	-webkit-border-top-right-radius: @radius;
}

.border-radius-bottom (@radius: 5px) {
	border-bottom-left-radius: @radius;
	border-bottom-right-radius: @radius;
	-moz-border-radius-bottomleft: @radius;
	-moz-border-radius-bottomright: @radius;
	-webkit-border-bottom-left-radius: @radius;
	-webkit-border-bottom-right-radius: @radius;
}

.box-shadow (@a: 5px, @b: 5px, @c: 5px, @color: #888888) {
	-moz-box-shadow: @a @b @c @color; /* Firefox */
	-webkit-box-shadow: @a @b @c @color; /* Safari and Chrome */
	box-shadow: @a @b @c @color;
}

body {
	background-image: url('images/bg.png');
	
	#msgs {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		font-size: 15px;
		text-align: center;
		background: #ccc;
		font-weight: bold;
		opacity: .9;
		cursor: pointer;
		z-index: 10;
		display: none;

		p {
			padding: 10px;
			margin: 0;
		}
		
		.error {
			color: red;
		}
		
		.success {
			color: green;
		}
	}
	
	#container {
		background: #fff;
		width: 900px;
		margin: 0 auto;
		border: 1px solid;
		.border-radius-top;
		.box-shadow;
	
		#header {
			text-align: center;
			
			#userstatus {
				margin: 10px;
				font-size: 12px;
				text-align: right;
				border-bottom: 1px solid #ccc;
				
				img {
					margin: 0;
					padding: 0;
				}
			}
			
			img {
				margin: 15px;
				cursor: pointer;
			}
			
			button {
				font-size: 25px;
			}
		}
		
		#content {
			margin: 50px;
			text-align: center;
			
			#scores {
				width: 350px;
				margin: 0 auto;
				text-align: left;
				
				ol {
					li {
						margin: 10px 0;
					}
				}
			}
			
			#puzzle {
				padding: 0;
				width:390px;
				height:390px;
				margin: 0 auto;
				
				.row {
					padding: 0;
					margin: 0;
					width:390px;
					height:40px;
					float:left;
					
					.cell {
						text-align: center;
						line-height: 40px;
						vertical-align: middle;
						padding: 0;
						margin: 0;
						width:40px;
						height:40px;
						float:left;
						border-left: 1px solid black;
						border-top: 1px solid black;
						
						.userInput {
							cursor: pointer;
							width: 100%;
							height: 100%;
							line-height: 40px;
							vertical-align: middle;
							padding: 0;
							background: #ddd;
							opacity: .7;
						}
						
						form {
							text-align: center;
							padding: 0;
							margin: 0;
							line-height: 40px;
							vertical-align: middle;
						}
						
						.red {
							background: red;
							opacity: .5;
						}
						
						.green {
							background: green;
							opacity: .5;
						}
						
						.yellow {
							background: yellow;
							opacity: .5;
						}
					}
					
					.top {
						border-top: 3px solid black;
					}
					
					.right {
						border-right: 3px solid black;
					}
					
					.bottom {
						border-bottom: 3px solid black;
						margin-bottom: 3px;
					}
					
					.left {
						border-left: 3px solid black;
					}
				}
			}
			
			form {
				text-align: center;
			}	
			
			img {
				cursor: pointer;
			}
		}
		
		#footer {
			border-top: 1px solid #ccc;
			font-size: 10px;
			opacity: .7;
			text-align: center;
			margin: 10px;		
		}
	}
	
	.info {
		border-bottom: 3px solid blue;
		border-bottom-style: double;
		color: blue;
		cursor: pointer;
		
		&:hover {
			border-bottom: none;
		}
	}
	
	.clear {
		clear: both;
	}
	
	.pp {
		width: 11px;
		opacity: .8;
	}
	
	a {
		color: blue;
		text-decoration: underline;
		
		&:hover {
			text-decoration: none;
		}
	}
}